@charset "utf-8";
@import "iconfonts.css";

/*------变量------*/
@black87: rgba(0, 0, 0, .87);
@black54: rgba(0, 0, 0, .54);
@black26: rgba(0, 0, 0, .26);
@black10: rgba(0, 0, 0, .1);

@white87: rgba(255, 255, 255, .87);
@white54: rgba(255, 255, 255, .54);
@white26: rgba(255, 255, 255, .26);
@white10: rgba(255, 255, 255, .1);

@theme-deep-color: #424242;
@theme-light-color: #F02D29;

@main-bg-color: #f3f2ee;
@border-color: #ccc;
@shadow-color: rgba(0, 0, 0, 0.16);


/*------重置样式------*/
html {
  width: 100%;
  height: 100%;
  font-size: 1rem;
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  color: @black87;
  overflow: hidden;
  background-color: #fff;
}

body,
article, aside, footer, header, nav, section,
h1, h2, h3, h4, h5, h6,
select, input, textarea, button,
ul, ol, dl, dt, dd, li,
table, legend, thead, tbody, tfoot, tr, td, th,
div, p, span, a, label {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: helvetica, "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: .875rem;
}

ul, ol, li {
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

a {
  text-decoration: none;
  color: @black87;
  &:hover{
    color: @theme-light-color;
  }
}

button, input:focus, select:focus, textarea:focus {
  outline: none;
}

select {
  .border;
  .u;
  padding: 0 .25rem;
  transition: all .2s;
}
textarea {
  .border;
  padding: .5rem;
  transition: all .2s;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="number"],
input[type="file"] {
  .border;
  .u;
  padding: 0 .5rem;
  transition: all .2s;
}

input[type=search] {
  &::-webkit-search-decoration,
  &::-webkit-search-cancel-button,
  &::-webkit-search-results-button,
  &::-webkit-search-results-decoration {
    display: none;
  }
}

input[type="text"], input[type="password"], input[type="number"], select, textarea {
  &:focus {
    border: 1px solid darken(@theme-light-color, 6%);
  }
}

input, select, textarea {
  &[readonly],
  &[disabled],
  &[readonly]:focus,
  &[disabled]:focus {
    background-color: #e0e0e0;
    box-shadow: none;
    border-color: @border-color;
  }
  &[readonly]::placeholder,
  &[disabled]::placeholder {
    color: @black26;
  }
}

/*-------通用样式------*/
/* 圆角 */
.radius(@radius: 2px) {
  -webkit-border-radius: @radius;
  border-radius: @radius;
}
/*边框*/
.border {
  border: 1px solid @border-color;
}

.u(@length: 2rem) {
  height: @length;
  line-height: @length;
}

.q(@length: 2rem) {
  height: @length;
  width: @length;
  line-height: @length;
  text-align: center;
}

.user-select {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Chrome/Safari/Opera */
  -khtml-user-select: none; /* Konqueror */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none;
}

/*分页组件*/
.pager {
  display: inline-block;
  .radius;
  & > a {
    float: left;
    .u;
    padding: 0 1rem;
    color: @black87;
    &:hover {
      background-color: #eee;
    }
    &:active {
      box-shadow: 0 1px 1px @shadow-color inset;
      background-color: #eee;
    }
    &.active {
      background-color: @theme-light-color;
      border-color: darken(@theme-light-color, 6%);
      color: @white87;
    }
  }
  & > * {
    border: 1px solid lighten(@border-color, 3%);
    margin-left: -1px;
  }
  /*跳转*/
  .skip {
    float:left;
    margin-left: 1rem;
    .u(2rem);
    color: @black54;
    border: none;
    input[type="number"] {
      width: 3rem;
      margin: 0 .5rem;
    }
    button {
      .border;
      .u(2rem);
      margin-left: .5rem;
      padding: 0 1rem;
      font-size: .875rem;
      cursor: pointer;
      background-color: #fff;
      &:hover {
        background-color: #eee;
      }
      &:active {
        box-shadow: 0 1px 1px @shadow-color inset;
        background-color: #eee;
      }
    }
  }
}

/*搜索框组件*/
.search-bar {
  position: relative;
  display: inline-block;
  width: 37.5rem;
  height: 2.5rem;
  padding-right: 7rem;
  font-size: 0;
  line-height: 0;
  .icon {
    position: absolute;
    left: .5rem;
    top: 50%;
    margin-top: -1rem;
    .q(2rem);
    font-size: 1.5rem;
    color: @black54;
  }
  input[type="text"] {
    width: 100%;
    height: 100%;
    line-height: 2.75rem;
    padding: .5rem .5rem .5rem 3rem;
    border: none;
    font-size: 1rem;
  }
  button {
    position: absolute;
    top: 0;
    right: 0;
    width: 7rem;
    height: 100%;
    background-color: @theme-deep-color;
    color: @white87;
    font-size: .9375rem;
    border: none;
    cursor: pointer;
    &:hover {
      filter: alpha(opacity=90);
      opacity: .9;
    }
    &:active {
      filter: alpha(opacity=100);
      opacity: 1;
    }
  }
}


/*返回*/
.return {
  position: absolute;
  top: 50%;
  left: 2rem;
  margin-top: -1.375rem;
  height: 2.75rem;
  padding-left: 2rem;
  line-height: 2.75rem;
  text-align: center;
  font-size: 1rem;
  color: @black87;
  &:before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1rem;
    .q(2rem);
    font-size: 2rem;
    font-family: "icomoon";
    content: "\e314";
  }
  &:hover {
    color: @theme-light-color;
  }
  &:active {
    filter: alpha(opacity=80);
    opacity: .8;
  }
}

/*删除确认弹窗*/
.dialog-confirm {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8rem;
  margin-top: -3rem;
  width: 16rem;
  height: 6rem;
  background-color: #fff;
  .radius(4px);
  z-index: 2000;
  display: none;
  p {
    .u(4rem);
    text-align: center;
    font-size:1rem;
    border-bottom: 1px solid #ccc;
  }
  div {
    font-size: 0;
    button {
      border: none;
      .u(2rem);
      font-size: .875rem;
      width: 50%;
      cursor: pointer;
      &:hover {
        filter: alpha(opacity=90);
        opacity: .9;
      }
      &:active {
        filter: alpha(opacity=100);
        opacity: 1;
      }
      &.cancel {
        background-color: #fff;
        border-radius: 0 0 0 4px;
      }
      &.ok {
        background-color: @theme-light-color;
        color: @white87;
        border-radius: 0 0 4px 0;
      }
    }
  }
}

/*加载动画*/
.loading {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  display: none;
  background: #fff url("../images/loading.gif") no-repeat center / 262.5px 222.6px;
}

/*自动消失提示*/
.toast {
  position: absolute;
  top: 31%;
  left: 50%;
  transform: translate(-50%,-50%);
  .u(4rem);
  min-width: 11.5rem;
  padding: 0 3rem 0 5rem;
  .radius(4px);
  background-color: @theme-deep-color;
  box-shadow: 0 3px 16px rgba(0,0,0,.38);
  z-index: 2001;
  &:before {
    position: absolute;
    top: 50%;
    left: 3rem;
    margin-top: -.75rem;
    font-family: "icomoon";
    .q(1.5rem);
    font-size: 1.5rem;
  }
  &.toast-warning {
    color: @theme-light-color;
    &:before {
      content: "\e000";
    }
  }
  &.toast-success {
    color: @white87;
    &:before {
      content: "\e90d";
    }
  }
}

/*遮罩层*/
.mask {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.6);
}

/*按钮*/
.btn {
  display: inline-block;
  .radius(4px);
  .u(1.875rem);
  width: 6.875rem;
  text-align: center;
  border: none;
  font-size: .875rem;
  color: @white87;
  cursor: pointer;
  &:hover {
    filter: alpha(opacity=80);
    opacity: .8;
  }
  &:active {
    filter: alpha(opacity=100);
    opacity: 1;
  }
  /*导入、编辑、保存、新增按钮背景色：红色、主题色*/
  &.btn-import, &.btn-edit, &.btn-save, &.btn-add {
    background-color: @theme-light-color;
  }
  /*删除、取消按钮背景色：灰色*/
  &.btn-delete, &.btn-cancel {
    background-color: #bbb;
  }
  /*导入按钮*/
  &.btn-import {
    margin-right: 2rem;
    label {
      display: block;
      width: 100%;
      height: 100%;
      cursor: pointer;
      input[type="file"] {
        width: 100%;
        height: 100%;
        display: none;
      }
    }
  }
  /*转至料库按钮*/
  &.btn-to-material {
    border: 1px solid @theme-light-color;
    color: @theme-light-color;
    background-color: transparent;
  }
  /*按钮不可用*/
  &[disabled="disabled"] {
    cursor: default;
    filter: alpha(opacity=54);
    opacity: .54;
  }
}

.btn-group {
  display: inline-block;
  & > * + * {
    margin-left: 1.25rem;
  }
}

/*表格样式*/
.table {
  width: 100%;
  th{
    .u(3.125rem);
    padding: 0 .5rem;
    border-bottom: 1px solid #ccc;
    text-align: center;
    white-space: nowrap;
    /*必填项加*号*/
    &.required:after {
      content: '*';
      color: @theme-light-color;
      font-size: 1.125rem;
      margin-left: .25rem;
    }
  }
  & > tbody > tr {
    &:hover {
      background-color: fadeOut(@theme-light-color, 90%);
    }
    /*是物料*/
    &.is-material > td.img {
      position: relative;
      &:before {
        position: absolute;
        top: 0;
        left: 1rem;
        content: '物料';
        background-color: #F02D29;
        color: rgba(255, 255, 255, 0.87);
        width: 1.5rem;
        height: 2.5rem;
        border-radius: 4px 4px 0 0;
      }
      
      &:after {
        content: '';
        position: absolute;
        top: 2.5rem;
        left: 1rem;
        box-sizing: border-box;
        border: .75rem solid transparent;
        border-top-color: @theme-light-color;
      }
    }
    /*不可用*/
    &.unavailable > td.name {
      position: relative;
      padding: .5rem 2.5rem;
      &:before {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -.75rem;
        .u(1.5rem);
        width: 2rem;
        content: "\e906";
        font-family: 'icomoon';
        color: @theme-light-color;
        font-size: 1.25rem;
        margin-right: .5rem;
      }
    }
    /*库存短缺*/
    &.short-storage > td.storage {
      color: @theme-light-color;
    }
    /*无库存*/
    &.no-storage > td {
      filter:alpha(opacity=54);
      opacity: .54;
      &.preview, &.more, &.add-to-bom {
        filter:alpha(opacity=100);
        opacity: 1;
      }
    }
  }
  td {
    border-bottom: 1px solid #ccc;
    height: 5rem;
    padding: .5rem;
    text-align: center;
    /*图片*/
    &.img {
      background-repeat: no-repeat;
      background-position: center;
      background-size:  contain;
    }
    &.recommend, &.old {
      position: relative;
      &:before {
        position: absolute;
        top: 0;
        left: 1rem;
        color: rgba(255, 255, 255, 0.87);
        width: 1.5rem;
        height: 2.5rem;
        border-radius: 4px 4px 0 0;
      }
      &:after {
        content: '';
        position: absolute;
        top: 2.5rem;
        left: 1rem;
        box-sizing: border-box;
        border: .75rem solid transparent;
      }
    }
    /*推荐*/
    &.recommend {
      &:before {
        content: '推荐';
        background-color: @theme-light-color;
      }
      &:after {
        border-top-color: @theme-light-color;
      }
    }
    /*呆滞*/
    &.old {
      &:before {
        content: '呆滞';
        background-color: @theme-deep-color;
      }
      &:after {
        border-top-color: @theme-deep-color;
      }
    }
    /*无数据*/
    &.no-data:before {
      content: '/';
      font-size: 1.5rem;
      color: @black26;
    }
    /*是否可用开关*/
    &.is-available {
      input[type="checkbox"] {
        display: none;
        & + label {
          position: relative;
          display: inline-block;
          box-sizing: border-box;
          height: 2rem;
          line-height: 2rem;
          width: 6rem;
          padding: 0 1rem;
          border: 1px solid #e3e3e3;
          background-color: #f7f7f7;
          -webkit-border-radius: 2rem;
          border-radius: 2rem;
          text-align: left;
          font-size: .8125rem;
          cursor: pointer;
          transition: all .5s;
          &:before {
            content: '可用';
          }
          &:after {
            font-family: 'icomoon';
            content: "\e909";
            position: absolute;
            top: 50%;
            right: -.5rem;
            margin-top: -1.25rem;
            .q(2.5rem);
            font-size: 1.5rem;
            border: 1px solid #ccc;
            background-color: #fff;
            .radius(50%);
            box-shadow: 0 1px 8px rgba(0, 0, 0,.16)
          }
        }
        &:checked + label {
          text-align: right;
          color: @white87;
          border: 1px solid @theme-light-color;
          background-color: @theme-light-color;
          &:before {
            content: '不可用';
          }
          &:after {
            content: "\e906";
            left: -.5rem;
            color: @theme-light-color;
          }
        }
      }
    }
    input, select, textarea {
      width: 90%;
    }
  }
}
/*表尾*/
.table-footer {
  height: 2rem;
  margin-top: 2rem;
  .table-info {
    float: left;
    line-height: 2rem;
    font-size: .75rem;
  }
  .pager {
    float: right;
  }
}



/*------页面框架------*/
article {
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 3.75rem;
  & > header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3.75rem;
    background-color: @theme-deep-color;
  }
  & > section {
    height: 100%;
    padding: 0 2rem 3.75rem 2rem;
    overflow-y: auto;
  }
}


/*------页面头部样式------*/
/*品牌*/
.brand {
  float: left;
  position: relative;
  margin-left: 2rem;
  padding-left: 2.75rem;
  height: 100%;
  line-height: 3.75rem;
  font-size: 1rem;
  color: @white87;
  .icon {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1.25rem;
    .q(2.5rem);
    font-size: 1.625rem;
  }
}
/*用户信息*/
.user-info {
  float: right;
  position: relative;
  margin-right: 2rem;
  height: 100%;
  padding: .625rem 3.5rem .625rem 2.25rem;
  &:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1rem;
    .q(2rem);
    content: "\e7fd";
    font-family: 'icomoon';
    font-size: 1.5rem;
    color: @white87;
  }
  .logout {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -1rem;
    .q(2rem);
    color: @white87;
    cursor: pointer;
    &:hover {
      filter: alpha(opacity=90);
      opacity: .9;
    }
    &:active {
      filter: alpha(opacity=100);
      opacity: 1;
    }
  }
  & > span {
    display: block;
    &.name {
      .u(1.5rem);
      color: @white87;
    }
    &.position {
      .u(1rem);
      font-size: .75rem;
      color: @white54;
    }
  }
}
/*页面切换*/
.tabs {
  float: left;
  margin-left: 6rem;
  a {
    position: relative;
    float: left;
    display: inline-block;
    height: 3.75rem;
    line-height: 3.75rem;
    padding: 0 2rem;
    text-align: center;
    font-size: 1rem;
    color: @white87;
    transition: all .2s;
    &:before {
      content: '';
      position: absolute;
      left: 15%;
      bottom: 2px;
      width: 70%;
      box-sizing: border-box;
      height: 3px;
      background-color: transparent;
    }
    &:active {
      color: @theme-light-color;
    }
    &.active {
      color: @theme-light-color;
      &:before {
        background-color: @theme-light-color;
      }
    }
  }
}


/*新增、详情面板*/
/*面板头部*/
.panel-header {
  position: relative;
  .u(3.75rem);
  border-bottom: 1px solid #ccc;
  .search-bar {
    float: left;
    margin-left: 4rem;
    margin-top: .625rem;
  }
  .btn-group {
    float: right;
    margin-right: 2rem;
  }
}
/*面板底部*/
.panel-footer {
  .u(3rem);
  text-align: center;
  margin-top: 1rem;
}
/*物料类别弹窗*/
.dialog-pro-category {
  position: absolute;
  top: 3rem;
  right: -27.5rem;
  z-index: 100;
  display: none;
  width: 64rem;
  min-height: 12rem;
  padding:1rem 2rem;
  background-color: #fff;
  box-shadow: 0 0 40px #aaa;
  line-height: normal;
  &:before {
    content: '';
    position: absolute;
    top: -1rem;
    right: 28rem;
    .q(1rem);
    box-sizing: border-box;
    border: 8px solid transparent;
    border-bottom-color: #fff;
  }
  & > header {
    .u(2rem);
    h3 {
      float: left;
      color: @black54;
    }
    .btn-group {
      float: right;
    }
  }
  & > section > ul > li {
    position: relative;
    padding-left: 7rem;
    border-top: 1px dashed #ccc;
    text-align: left;
    &:first-child {
      border-top: none;
    }
    & > h4 {
      position: absolute;
      top: .5rem;
      left: 0;
      .u(1.5rem);
      font-weight: normal;
    }
    & > ul > li {
      position: relative;
      padding-left: 4.5rem;
      border-top: 1px dashed #ccc;
      min-height: 2.5rem;
      &:first-child {
        border-top: none;
      }
      & > h5 {
        position: absolute;
        top: .5rem;
        left: 0;
        .u(1.5rem);
        color: @black54;
        font-weight: normal;
      }
      & > ul {
        & > li {
          display: inline-block;
          .u(1.5rem);
          padding: 0 .25rem;
          margin: .5rem .25rem .5rem 0;
          cursor: pointer;
          &.active, &:hover {
            color: @theme-light-color;
          }
        }
      }
    }
  }
}
/*物料规格弹窗*/
.dialog-property {
  position: absolute;
  top: 3rem;
  display: none;
  right: -10rem;
  width: 40rem;
  z-index: 100;
  background-color: #fff;
  box-shadow: 0 0 40px #aaa;
  padding:1rem 2rem;
  min-height: 12rem;
  &:before {
    content: '';
    position: absolute;
    top: -1rem;
    right: 10.5rem;
    .q(1rem);
    box-sizing: border-box;
    border: 8px solid transparent;
    border-bottom-color: #fff;
  }
  & > header {
    .u(2rem);
    h3 {
      float: left;
      color: @black54;
    }
    .btn-group {
      float: right;
    }
  }
  & > section {
    & > ul > li {
      position: relative;
      padding-left: 5rem;
      border-top: 1px dashed #ccc;
      &:first-child {
        border-top: none;
      }
      & > h4 {
        position: absolute;
        top: .5rem;
        left: 0;
        .u(1.5rem);
        font-weight: normal;
      }
      & > ul {
        text-align: left;
        & > li {
          display: inline-block;
          .u(1.5rem);
          padding: 0 .25rem;
          margin: .5rem .25rem .5rem 0;
          cursor: pointer;
          &.active, &:hover {
            color: @theme-light-color;
          }
        }
      }
    }
  }
}
/*物料供应商弹窗*/
.dialog-supplier {
  position: absolute;
  top: 3rem;
  right: -42.5rem;
  z-index: 100;
  display: none;
  width: 55rem;
  min-height: 12rem;
  padding:1rem 2rem;
  background-color: #fff;
  box-shadow: 0 0 40px #aaa;
  text-align: left;
  &:before {
    content: '';
    position: absolute;
    top: -1rem;
    right: 43rem;
    .q(1rem);
    box-sizing: border-box;
    border: 8px solid transparent;
    border-bottom-color: #fff;
  }
  & > header {
    .u(2rem);
    h3 {
      float: left;
      color: @black54;
    }
    .btn-group {
      float: right;
    }
  }
  & > section > ul > li {
    display: inline-block;
    .u(1.5rem);
    padding: 0 .25rem;
    margin: .5rem .25rem .5rem 0;
    cursor: pointer;
    &.active, &:hover {
      color: @theme-light-color;
    }
  }
  & > section > ul.letters {
    border-bottom: 1px dashed #ccc;
  }
}
/*新增面板、详情面板公共样式*/
.panel-append, .panel-detail {
  display: none;
  .panel-header {
    border-bottom: none;
  }
  .table {
    & + table {
      margin-top: 2rem;
    }
    & > thead > tr {
      background-color: #e0e0e0;
      border-top: 1px solid #ccc;
    }
    & > tbody > tr:hover {
      background-color: #fff;
    }
  }
  .table01 td, .table02 td {
    width: 20%;
  }
  .table03 {
    td {
      width: 16%;
      &:nth-child(1) {
        width: 20%;
      }
    }
    th, td {
      &:nth-child(1), &:nth-child(3) {
        border-right: 1px solid #ccc;
      }
    }
  }
  .table04 {
    td {
      width: 16%;
      &:nth-child(3), &:nth-child(4) {
        width: 18%;
      }
    }
    th, td {
      &:nth-child(2), &:nth-child(4), &:nth-child(5) {
        border-right: 1px solid #ccc;
      }
    }
  }
  .table05 td.storage {
    width: 15%;
  }
  /*表格说明信息*/
  .table-info {
    color: @black54;
    font-size: .75rem;
    &.bottom {
      margin-top:1rem;
    }
    &.top {
      margin-bottom:1rem;
      margin-top: 2rem;
    }
  }
  /*面板底部*/
  .panel-footer {
    margin-top: 2rem;
    .btn-group .btn {
      width: 8.125rem;
      & + .btn {
        margin-left: 4rem;
      }
    }
  }
}
/*新增面板样式*/
.panel-append {
  /*带字体图标按钮的选择框*/
  .input-select {
    position: relative;
    width: 90%;
    .u(2rem);
    & > input[type="text"] {
      width: 100%;
      padding-right: 2rem;
    }
    & > .icon {
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -1rem;
      .q(2rem);
      font-size: 1.5rem;
      cursor: pointer;
      &:hover, &:active {
        color: @theme-light-color;
      }
    }
  }

  /*表格01 图片*/
  .table01 .img {
    position: relative;
    input[type="file"] {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      filter: alpha(opacity=0);
      opacity: 0;
      cursor: pointer;
    }
    /*无图时样式*/
    &.no-img {
      &:before {
        display: block;
        content: "\e986";
        font-family: 'icomoon';
        font-size: 1.5rem;
      }
      &:after {
        content: '请上传';
        display: block;
        margin-top: .25rem;
        color: @theme-light-color;
        .u(rem);
      }
      &:hover {
        color: @theme-light-color;
      }
    }
  }

  /*表格04 2D/3D模型*/
  .table04 {
    .model-3d, .model-2d {
      position: relative;
      background-position: center 16px;
      background-repeat: no-repeat;
      background-size: 36.6px 28.2px;
      &:before {
        position: absolute;
        left: 0;
        bottom:1rem;
        .u(rem);
        width: 100%;
        content: '请上传';
        color: @theme-light-color;
        z-index: 2;
      }
      input[type="file"] {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        filter: alpha(opacity=0);
        opacity: 0;
        cursor: pointer;
        z-index: 3;
      }
      /*已存在上传的模型时样式*/
      &.has-model:before {
        content: '可更新';
        color: @black87;
      }
    }
    .model-3d {
      background-image: url(../images/icon-3d.png);
    }
    .model-2d {
      background-image: url(../images/icon-2d.png);
    }
  }
}
/*详情面板表格04中2D/3D模型样式*/
.panel-detail .table04 {
  .model-3d, .model-2d {
    &:before {
      content: '/';
      font-size: 2rem;
      color: @black26;
    }
    /*已存在上传的模型时样式*/
    &.has-model {
      background-position: center;
      background-repeat: no-repeat;
      background-size: 36.6px 28.2px;
      &:before {
        content: '';
      }
    }
  }
  .model-3d.has-model {
    background-image: url(../images/icon-3d.png);
  }
  .model-2d.has-model {
    background-image: url(../images/icon-2d.png);
  }
}


/*------仓库页面------*/
.panel-storage-list {
  .panel-header .btn-group {
    .btn-save, .btn-cancel {
      display: none;
    }
  }
  .table {
    & > tbody > tr:hover {
      cursor: pointer;
    }
    td {
      width: 10%;
      &.name {
        position: relative;
        width: 15%;
        padding: .5rem 2.5rem;
      }
      &.property {
        width: 15%;
      }
      &.storages input {
        text-align: center;
        width: 100%;
      }
    }
  }
}


/*------料库页面------*/
/*物料列表*/
.panel-material-list {
  .table {
    & > tbody > tr:hover {
      cursor: pointer;
    }
    td {
      width: 14%;
      &.name {
        position: relative;
        width: 16%;
        padding: .5rem 2rem;
      }
    }
  }
}
/*自动消失提示框*/
.material .toast {
  top: 50%;
  .u(2.5rem);
  min-width: 11rem;
  padding: 0 2rem 0 4rem;
}


/*------行业资料库------*/
.panel-industry-list {
  .table {
    & > tbody > tr:hover {
      cursor: pointer;
    }
    td {
      width: 12%;
      &.name {
        width: 25%;
      }
      &.supplier {
        width: 15%;
      }
      &.edit {
        .icon {
          display: inline-block;
          .q(3rem);
          color: @black26;
          font-size: 1.5rem;
          cursor: pointer;
          &:hover {
            color: @theme-light-color;
          }
          &:active {
            filter: alpha(opacity=80);
            opacity: .8;
          }
        }
      }
    }
  }
}


/*------产品结构清单------*/
/*产品列表*/
.panel-product-list {
  /*表格头部*/
  .table-header {
    display: flex;
    align-items: center;
    height: 3.125rem;
    border-bottom: 1px solid #ccc;
    li {
      width: 10%;
      padding: 0 1rem;
      font-weight: bold;
      &:nth-child(1) {
        padding-left: 5rem;
        width: 40%;
      }
      &:nth-child(7) {
        text-align: center;
      }
    }
  }
  /*表格主体*/
  .table-body {
    .text-indent {
      display: inline-block;
      width: 4rem;
    }
    .no-price:before{
      content: '/';
    }
    .outer, .leaf {
      position: relative;
      display: flex;
      align-items: center;
      height: 3.125rem;
      border-bottom: 1px solid #ccc;
      &:hover {
        background-color: fadeOut(@theme-light-color, 90%);
      }
      & > * {
        width: 10%;
        padding: 0 1rem;
        &:nth-child(1) {
          width: 40%;
          padding-left: 3rem;
          & > .name {
            display: inline-block;
          }
        }
        /*详情图标*/
        &.detail:before {
          content: "\e901";
          font-family: 'icomoon';
          font-size: 1.75rem;
          cursor: pointer;
        }
      }
    }
    .outer {
      & > *:nth-child(1) {
        padding-left: 1rem;
        .name {
          position: relative;
          padding-left: 2rem;
          .icon {
            position: absolute;
            top: 50%;
            left: 0;
            margin-top: -.75rem;
            .q(1.5rem);
            font-size: 1.5rem;
            transform: rotate(-90deg);
            cursor: pointer;
            transition: all .5s;
          }
        }
      }
      //展开样式
      &.open {
        & > *:nth-child(1) > .name > .icon {
          transform: rotate(0deg);
        }
        & + li.inner {
          display: block;
        }
      }
    }
    .inner {
      display: none;
    }
    /*第一级产品*/
    & > .outer {
      height: 3.75rem;
      & > .flows {
        .u(3.75rem);
      }
    }
  }
  /*工序*/
  .flows {
    position: relative;
    text-align: center;
    .u(3.125rem);
    &:after {
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: -6px;
      content:'';
      box-sizing: border-box;
      border: 6px solid transparent;
      border-bottom-color: #fff;
      z-index: 100;
      display: none;
    }
    & > span {
      display: inline-block;
      .q(2.5rem);
      background-color: @theme-deep-color;
      color: @white87;
      .radius(50%);
      cursor: pointer;
      font-weight: bold;
    }
    & > .dialog {
      display: none;
      position: absolute;
      top: 100%;
      right: 0;
      z-index: 99;
      width: 50rem;
      height: 27rem;
      margin-bottom: 2rem;
      padding: 2rem 1rem 1rem 2rem;
      background-color: #fff;
      box-shadow: 0 -2px 28px rgba(0,0,0,.26);
      text-align: left;
      line-height: normal;
      & > h3 {
        position: absolute;
        top: 1rem;
        left: 2rem;
      }
      & > .steps {
        background: #fff;
        height: 100%;
        overflow-y: scroll;
        &::-webkit-scrollbar {
          -webkit-appearance: none;
          width: 1rem;
          height: 1rem;
          display: block;
        }
        &::-webkit-scrollbar-thumb:vertical {
          background-image: url('../images/scrollbar-v-bg.png');
          background-repeat: repeat-y;
          background-size: 400% 100%;
          background-position: -8px 0;
        }
        &::-webkit-scrollbar-thumb:vertical:hover {
          background-position:-40px 0;
        }
        &::-webkit-scrollbar-track {
          background-color: transparent;
        }
        & > li {
          position: relative;
          padding: 1rem 1rem 1rem 2.5rem;
          &:after {
            position: absolute;
            left: 11.5px;
            top: 1rem;
            height: 100%;
            content: "";
            box-sizing: border-box;
            border-left: 1px dashed @theme-deep-color;
          }
          &:last-child {
            padding-bottom: 1rem;
            &:after {
              display: none;
            }
          }
          .number {
            position: absolute;
            top: 1rem;
            left: 0;
            .q(1.5rem);
            background-color: @theme-deep-color;
            .radius(50%);
            color: @white87;
            z-index: 3;
          }
          & > div {
            .u(2rem);
            & > *:first-child {
              float: left;
              font-weight: bold;
            }
            .operate {
              display: inline-block;
              float: right;
              button {
                .u(2rem);
                border: none;
                background-color: transparent;
                color: @theme-light-color;
                margin-left: 1rem;
                cursor: pointer;
                &:hover {
                  text-decoration: underline;
                }
                &[disabled] {
                  color: @black54;
                  cursor: default;
                  &:hover {
                    text-decoration: none;
                  }
                }
                &.save {
                  display: none;
                }
              }
            }
          }
          .price input {
            width: 7.5rem;
          }
          & > table {
            margin-top: .5rem;
            width: 100%;
            td, th {
              width: 14%;
              border-bottom: 1px solid #ccc;
              border-top: 1px solid #ccc;
              height: 2rem;
              padding: .5rem;
              &:first-child {
              padding-left: 2rem;
              width: 40%;
              }
              &:nth-child(3) {
                width: 18%;
              }
            }
            input {
              width: 100%;
            }
            td:first-child {
              position: relative;
              .icon {
                position: absolute;
                top: 50%;
                left: 0;
                margin-top: -1rem;
                .q(2rem);
                font-size: 1.25rem;
                color: @theme-light-color;
                cursor: pointer;
                display: none;
              }
            }
          }
        }
      }
    }
    /*无工序时样式*/
    &.no-flows {
      &:before {
        content: '/';
      }
      & > span {
        display: none;
      }
    }
    /*展开工序*/
    &.on {
      &:after {
        display: block;
      }
      & > .dialog {
        display: block;
      }
    }
  }
}
/*新增产品结构面板*/
/*删除按钮*/
.productList .panel-append .panel-header .btn-delete {
  background-color: #fff;
  border: 1px solid @theme-light-color;
  color: @theme-light-color;
}
/*折叠面板*/
.collapse {
  margin-bottom: 2rem;
  /*折叠头部*/
  .collapse-title {
    .u(3.125rem);
    padding: 0 2rem;
    .border;
    background-color: #eaeaea;
    & > span:first-child {
      margin-right: 1rem;
    }
    /*操作按钮*/
    .operate {
      display: inline-block;
      float: right;
      a{
        color: @theme-light-color;
        margin-left: 2rem;
        &:hover {
          text-decoration: underline;
        }
      }
    }
  }
  /*折叠主体内容*/
  .collapse-content {
    display: none;
    .border;
    border-top: none;
    padding: 0 2rem;
  }
  /*基本信息*/
  .info {
    padding-top: 1.5rem;
    & > div {
      &:first-child {
        display: flex;
        justify-content: space-between;
      }
      & > span {
        position: relative;
        margin-bottom: 1.5rem;
        .u(2rem);
        white-space: nowrap;
        & + * {
          margin-left: 4rem;
        }
      }
    }
    /*名称*/
    .name {
      padding-right: 3rem;
      .edit {
        position: absolute;
        top: 0;
        right: 0;
        .u(2rem);
        color: @theme-light-color;
        &:hover {
          text-decoration: underline;
        }
      }
    }
    /*表单项*/
    .form-item {
      display: inline-block;
      label {
        .u(2rem);
        margin-right: .5rem;
      }
      select, input {
        width: 12rem;
      }
      /*必填项加*号*/
      &.required label:after {
        content: '*';
        color: @theme-light-color;
        font-size: 1.125rem;
        margin-left: .25rem;
      }
    }
  }
  /*工序信息*/
  .flows {
    border-top: 1px solid #ccc;
    padding: 1.5rem 0 1.5rem  0;
    & > h3 {
      margin-bottom: 1rem;
    }
    & > div {
      display: flex;
      select {
        margin-right: 1.5rem;
      }
    }
    /*工序项*/
    .flow-item {
      display: inline-block;
      .u(1.875rem);
      padding: 0 1rem;
      margin-right: 1rem;
      margin-bottom: .5rem;
      cursor: pointer;
      &:hover, &:active, &.active {
        background-color: @theme-light-color;
        color: @white87;
      }
    }
  }
  /*展开主体内容*/
  &.open {
    .collapse-title {
      & > span:first-child {
        font-weight: bold;
      }
      .name {
        display: none;
      }
    }
    .collapse-content {
      display: block;
    }
  }
}
/*子件容器*/
.component-container {
  padding-left: 4rem;
  /*添加子件按钮*/
  .btn-add-component {
    display: block;
    text-align: center;
    .border;
    .u(3.125rem);
    &:before {
      content: "\e145";
      font-family: 'icomoon';
      font-size: 1.25rem;
      margin-right: 1rem;
      vertical-align: bottom;
    }
    &:hover {
      color: @black87;
      background-color: #e7e7eb;
    }
  }
}
/*产品选择弹框*/
.dialog-pro-select {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64rem;
  background-color: #fff;
  z-index: 2000;
  display: none;
  & > header {
    display: flex;
    min-height: 3.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid #ccc;
  }
  & > section {
    position: relative;
    padding-left: 8rem;
    border-bottom: 1px solid #ccc;
    .main {
      position: relative;
      padding: 2.75rem 0 5rem 0;
    }
  }
  & > footer {
    .u(4rem);
    text-align: center;
    button {
      background-color: @theme-light-color;
      color: @white87;
      .u(2rem);
      padding: 0 8rem;
      border: none;
      cursor: pointer;
      &:hover {
        filter: alpha(opacity=80);
        opacity: .8;
      }
      &:active {
        filter: alpha(opacity=100);
        opacity: 1;
      }
    }
  }
  /*关闭图标按钮*/
  & > .icon-close-circle {
    position: absolute;
    top: -2rem;
    right: -2rem;
    .q(1.5rem);
    font-size: 1.875rem;
    color: @white87;
    cursor: pointer;
    &:hover {
      color: @theme-light-color;
    }
  }
  /*选择结果*/
  .select-result {
    flex: 1;
    position: relative;
    padding-left: 5rem;
    margin-left: 2rem;
    h3 {
      position: absolute;
      top: 0;
      left: 0;
      .u(1.5rem);
      width: 5rem;
      font-weight: normal;
    }
    ul > li {
      display: inline-block;
      .u(1.5rem);
      margin-right:1rem;
      &.no-result {
        color: @black54;
      }
      &.result {
        position: relative;
        padding-right: 1.25rem;
        font-weight: bold;
        .icon {
          position: absolute;
          top: 50%;
          right: 0;
          margin-top: -.5rem;
          .q(1rem);
          font-size: 1.25rem;
          cursor: pointer;
          &:hover {
            color: @theme-light-color;
          }
        }
      }
    }
  }
  /*搜索组件*/
  .search-bar {
    height: 1.5rem;
    margin: 0 1rem 0 2rem;
    width: 16rem;
    padding-right: 3.5rem;
    .icon {
      .q(1.5rem);
      margin-top: -.75rem;
    }
    button, input[type="text"] {
      color: @black87;
      .u(1.5rem);
      font-size: .875rem;
    }
    button {
      width: 3.5rem;
      background-color: transparent;
    }
  }
  /*左边导航*/
  .nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 8rem;
    height: 100%;
    border-right: 1px solid #ccc;
    li {
      .u(3.125rem);
      text-align: center;
      cursor: pointer;
      &:hover {
        color: @theme-light-color;
      }
      &:active, &.active {
        background-color: @theme-light-color;
        color: @white87;
      }
    }
  }
  /*表格头部*/
  .table-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-right: 1rem;
    font-size: 0;
    border-bottom: 1px solid #ccc;
    & > * {
      display: inline-block;
      width: 12%;
      .u(2.75rem);
      padding: 0 1rem;
      font-size: .875rem;
      &:first-child {
        width: 24%;
        padding-left: 4rem;
      }
      &:nth-child(2) {
        width: 24%;
      }
      &:nth-child(3) {
        width: 16%;
      }
    }
  }
  /*表格主体*/
  .table-body {
    height: 384px;
    overflow-y: scroll;
    li {
      input[type="checkbox"] {
        display: none;
        & + label {
          display: flex;
          min-height: 3rem;
          border-bottom: 1px solid #ccc;
          align-items: center;
          cursor: pointer;
          & > * {
            width: 12%;
            padding: .5rem 1rem;
            &:first-child {
              width: 24%;
              padding-left: 4rem;
            }
            &:nth-child(2) {
              width: 24%;
            }
            &:nth-child(3){
              width: 16%;
            }
            &:last-child {
              &:before {
                content: "\e913";
                color: #bbb;
                font-family: 'icomoon';
                font-size: 1.5rem;
              }
            }
          }
        }
        &:checked + label {
          background-color: fadeOut(@theme-light-color, 80%);
          border-bottom: 1px solid #ebc0bf;
          & > * {
            font-weight: bold;
            &:last-child:before {
              content: "\e912";
              color: #424242;
            }
          }
        }
      }
    }
  }
  /*表格底部*/
  .table-footer {
    position: absolute;
    bottom:1rem;
    left: 0;
    width: 100%;
    padding: 0 2rem;
  }
}


/*------规格管理页面------*/
/*添加规格项按钮*/
.btn-add-item {
  position: relative;
  .u(1.5rem);
  padding-left: 1.75rem;
  margin: .25rem 0;
  cursor: pointer;
  .icon {
    position: absolute;
    top: 0;
    left: 0;
    .q(1.5rem);
    font-size: 1.5rem;
  }
  &:hover {
    color: @theme-light-color;
  }
}
/*规格项编辑组件*/
.item-editor {
  display: none;
  font-size: 0;
  white-space: nowrap;
  input {
    width: 7rem;
  }
  button {
    .u(2rem);
    margin-left: .5rem;
    border: none;
    background-color: transparent;
    cursor: pointer;
  }
}
/*添加规格弹窗*/
.dialog-add-property {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2000;
  display: none;
  width: 50rem;
  background-color: #fff;

  & > .icon {
    position: absolute;
    top: -2.5rem;
    right: -2.5rem;
    .q;
    font-size: 1.875rem;
    color: @white87;
    cursor: pointer;
    &:hover {
      color: @theme-light-color;
    }
  }
  & > header {
    padding: 0 2rem;
    .u(3rem);
    background-color: @theme-deep-color;
    color: @white87;
  }
  & > section {
    padding: 1.5rem 2rem;
    min-height: 12rem;
    .label {
      display: inline-block;
      .u(2rem);
      width: 3.5rem;
      margin-right: .5rem;
    }
    .property-type, .show-order {
      display: flex;
      margin-bottom: 1.5rem;
    }
    .property-item {
      display: flex;
      & > *:nth-child(2) {
        flex: 1;
      }
      .label {
        margin: 5px 8px 5px 0;
      }
      input {
        margin: 5px 24px 5px 0;
      }
      .btn-add-item {
        border: none;
        background-color: transparent;
        margin: 9px 24px 9px 0;
        color: @theme-light-color;
      }
    }
  }
  & > footer {
    text-align: center;
    padding: 1.5rem 0;
    .btn-group .btn + .btn {
      margin-left: 4rem;
    }
  }
}
/*当前物料类别*/
.current-type {
  position: relative;
  float: left;
  padding-right: 2rem;
  font-size: 1rem;
  input[type="text"] {
    margin-left: .5rem;
    width: 12rem;
    background-color: #fff;
    border: none;
    color: @theme-light-color;
    font-weight: bold;
    font-size: 1rem;
  }
  .icon {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1rem;
    .q(2rem);
    font-size: 1.5rem;
    color: @theme-light-color;
    cursor: pointer;
    &:hover {
      opacity: .8;
    }
    &:active {
      opacity: 1;
    }
  }
  .dialog-pro-category {
    top: 3.75rem;
    right: -50rem;
    &:before {
      right: 50.5rem;
    }
  }
}
/*页面主体部分*/
.propertyManage {
  .table-header {
    display: flex;
    align-items: center;
    height: 3.125rem;
    border-bottom: 1px solid #ccc;
    & > * {
      font-weight: bold;
      &:nth-child(1) {
        width: 20%;
        padding-left: 6rem;
        margin-right: 2rem;
      }
      &:nth-child(2) {
        width: 15%;
        margin-right: 2rem;
      }
      &:nth-child(3) {
        flex: 1;
      }
    }
  }
  .table-body > li {
    display: flex;
    min-height: 5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #ccc;
    &:hover {
      background-color: fadeOut(@theme-light-color, 90%);
      .property-type > .icon-close {
        display: block;
      }
    }
  }
  /*规格大类*/
  .property-type {
    width: 20%;
    padding-left: 6rem;
    & > .icon-close {
      position: absolute;
      top: 0;
      left:1rem;
      display: none;
      .q(2rem);
      font-size: 1.5rem;
      cursor: pointer;
      &:hover {
        color: @theme-light-color;
      }
    }
  }
  /*显示排序*/
  .show-order {
    width: 15%;
  }
  .property-type, .show-order {
    position: relative;
    display: flex;
    margin-right: 2rem;
  }
  /*规格项*/
  .property-item {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    .item {
      position: relative;
      .u(1.5rem);
      padding-right: 1.75rem;
      margin: .25rem 1.5rem .25rem 0;
      &:hover {
        .icon{
          display: block;
        }
      }
      .icon {
        position: absolute;
        top: 0;
        right: 0;
        display: none;
        .q(1.5rem);
        font-size: 1.25rem;
        cursor: pointer;
        &:hover {
          color: @theme-light-color;
        }
      }
    }
  }
}
/*显示*/
.item-name {
  position: relative;
  padding-right: 2rem;
  .u(2rem);
  &:hover {
    .icon {
      display: block;
    }
  }
  .icon {
    position: absolute;
    top: 0;
    right: 0;
    display: none;
    .q(2rem);
    font-size: 1.25rem;
    cursor: pointer;
    &:hover {
      color: @theme-light-color;
    }
  }

}
/*编辑组件*/
.edit {
  display: none;
  position: relative;
  padding-right: 4rem;
  input {
    width: 100%;
    border: 1px solid #ccc;
  }
  button {
    position: absolute;
    top: 0;
    right: 0;
    .u(2rem);
    width: 4rem;
    border: none;
    background-color: transparent;
    cursor: pointer;
  }
}

/*------分类管理页面------*/
.categoryManage .pro-category {
  margin-top: 60px;
  border-top: 1px solid #ccc;
  .btn-add-item {
    margin: .5rem .25rem .5rem 0;
    &.disabled {
      cursor: default;
      color: @black54;
    }
  }
  .item-editor {
    margin: .25rem .25rem .25rem 0;
  }
  .item-name {
    display: inline-block;
    margin: .25rem 0;
    padding-right: 4rem;
    .icon-edit {
      right: 2rem;
    }
  }
  /*一级分类*/
  .primary, .secondary {
    display: flex;
    width: 100%;
    border-top: 1px dashed #ccc;
    &:first-child {
      border-top: none;
    }
    & > div {
      display: flex;
      width: 12rem;
      margin-right: 1rem;
      padding: .5rem 0;
    }
    & > ul {
      display: flex;
      flex-wrap: wrap;
    }
  }
  .primary {
    & > ul {
      flex: 1;
    }
  }
  /*二级分类*/
  .secondary {
    min-height: 3.5rem;
    & > div {
      .show {
        color: @black54;
      }
    }
    & > ul {
      width: 100%;
      padding: .5rem 0;
    }
  }
  /*三级分类*/
  .tertiary {
    position: relative;
    .u(1.5rem);
    padding: 0 1.75rem 0 .25rem;
    margin: .5rem 1.5rem .5rem 0;
    .icon {
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -.75rem;
      display: none;
      .q(1.5rem);
      font-size: 1.25rem;
      cursor: pointer;
      &:hover {
        color: @theme-light-color;
      }
    }
    &:hover {
      .icon {
        display: block;
      }
    }
  }
}

/*------登录页面------ */
.dialog-login {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -13.5rem;
  margin-top: -9.375rem;
  padding: 2rem 4rem;
  width: 27rem;
  height: 18.375rem;
  .border;
  background-color: #fff;
  z-index: 2000;
  & > header {
    margin-bottom:1rem;
    h3 {
      font-size: 1.25rem;
      margin-bottom: .5rem;
      text-align: center;
    }
    .icon-logo {
      display: block;
      margin: 0 auto;
      .q(2rem);
      font-size: 1.75rem;
    }
  }
  & > section {
    margin-bottom:1rem;
    height: 6rem;
    & > * {
      position: relative;
      margin: 0 auto;
      width: 15rem;
      height: 2rem;
      padding-left: 2.5rem;
      & + * {
        margin-top: 8px;
      }
    }
  }
  .form-item {
    label {
      position: absolute;
      top: 0;
      left: 0;
      .q(2rem);
      font-size: 1.5rem;
    }
    input {
      width: 100%;
    }
  }
  .error-msg {
    .u(rem);
    color: @theme-light-color;
    font-size: .875rem;
  }
  .btn-login {
    display: block;
    margin: 0 auto;
    width: 17.25rem;
    .u(2.25rem);
    border-radius: 4px;
    background-color: @theme-light-color;
    color: @white87;
    text-align: center;
    &:hover {
      filter: alpha(opacity=80);
      opacity: .8;
    }
    &:active {
      filter: alpha(opacity=100);
      opacity: 1;
    }
  }
}